|
Программируем по-русски
|
Основная задача Глагола — дать человеку возможность воплощать свои мысли на языке, близком к его родному языку. Издатель Глагола
|
(*~\Глагол\Отделы\Поле~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*) (**) ОТДЕЛ ПолеПамятки; (*============================================================================* * НАЗНАЧЕНИЕ: поле для Памятки *============================================================================*) ИСПОЛЬЗУЕТ Надел, Поле, Памятка, СтрокиПамятки, Ввод ИЗ "..\Обмен\"; (******************************************************************************) ЗАДАЧА Приём(поле:Поле.Доступ; посылка+:Ввод.Посылка); (* получить и обработать управляющие послания *) ПЕР код:ЦЕЛ; УКАЗ ДЛЯ посылка ВИДА | Ввод.ОтКлавиш: код:=посылка.код; посылка.код:=0; (* скорее всего отработаем посылку *) ВЫБРАТЬ код ИЗ | 1BH: поле.состояние:=Поле.сОтмена (* Esc *) | 79H: поле.состояние:=Поле.сДалее (* F10 *) | 0DH: поле.состояние:=Поле.сДалее (* Ent *) ИНАЧЕ посылка.код:=код КОН | Ввод.ОтМышки: ЕСЛИ НЕ (Ввод.прокрут В посылка.события) ТО поле.состояние:=Поле.сДалее; посылка.отработана:=ВКЛ КОН ИНАЧЕ КОН КОН Приём; (******************************************************************************) ЗАДАЧА Выполнить-(холст:Надел.Доступ; памятка:Памятка.Доступ; окружение:Поле.Доступ):ЦЕЛ; (* Выбрать строку Памятки *) ПЕР поле:Поле.Доступ; строки:СтрокиПамятки.Доступ; верх,лево,колонок,строк:ЦЕЛ; УКАЗ верх:=холст.вс+1; лево:=холст.лк; строк:=окружение.нс-верх+1; ЕСЛИ строк > памятка.строк+2 ТО строк:=памятка.строк+2 КОН; колонок:=холст.пк-лево+1; поле:=Поле.Создать(верх,лево,строк,колонок,ПУСТО,ОТКЛ,Приём); строки:=СтрокиПамятки.Создать(0,0,строк,колонок,памятка); Поле.ДобавитьНадел(поле,строки); Поле.Рисовать(поле); ПОВТОРЯТЬ Поле.Проверить(поле) ДО поле.состояние # Поле.сРабота; Поле.Рисовать(окружение); ЕСЛИ поле.состояние = Поле.сДалее ТО ВОЗВРАТ строки.текущая ИНАЧЕ ВОЗВРАТ -1 КОН КОН Выполнить; КОН ПолеПамятки. |
▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com
|
|